var ds = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({
						url : 'manuscriptCategory_list.action',
						method : 'POST'
					}),
			reader : new Ext.data.JsonReader({
						root : 'manuscriptCategorys',
						totalProperty : 'totalCount'
					}, [{
								name : 'manuscriptCategoryId',
								mapping : 'manuscriptCategoryId',
								type : 'long',
								hidden : 'true'
							}, {
								name : 'manuscriptCategoryName',
								mapping : 'manuscriptCategoryName',
								type : 'string'
							}, {
								name : 'mru',
								mapping : 'mru',
								type : 'int'
							}, {
								name : 'createdTimestamp',
								mapping : 'createdTimestamp',
								type : 'long'
							}, {
								name : 'lastModifierName',
								mapping : 'lastModifierName',
								type : 'string'
							}, {
								name : 'lastModified',
								mapping : 'lastModified',
								type : 'long'
							}, {
								name : 'operation',
								type : 'string'
							}])
		});


var cm_menuscriptCategory = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
	header : "稿件分类名称",
	width : 120,
	dataIndex : 'manuscriptCategoryName',
	sortable : true,
	renderer : function(value, metadata, record) {
		return "<a href = 'javascript:void(0)' onclick=javascript:showManuscriptCategory('"
				+ record.data.manuscriptCategoryId + "')> " + escapeHTML(value) + " </a>";
	}
}, {
	header : "最近使用频度",
	width : 130,
	dataIndex : 'mru',
	sortable : true
}, {
	header : "稿件分类创建时间",
	width : 130,
	dataIndex : 'createdTimestamp',
	sortable : true,
	renderer : function totime(value, metadata, record) {
        return new Date(value).format('Y-m-d');
    }
}, {
	header : "最后修改人姓名",
	width : 110,
	dataIndex : 'lastModifierName',
	sortable : true
}, {
	header : "最后修改时间",
	width : 110,
	dataIndex : 'lastModified',
	sortable : true,
	renderer : function totime(value, metadata, record) {
        return new Date(value).format('Y-m-d');
     }
}, {
	header : "稿件分类操作",
	width : 120,
	dataIndex : 'operation',
	sortable : true,
	renderer : function(value, metadata, record) {
		return "<a href = 'javascript:void(0)' onclick=javascript:modifyScriptCategory('"
				+ record.data.manuscriptCategoryId
				+ "')>修改 </a> &nbsp;&nbsp;<a href='javascript:void(0)' onclick=javascript:deleteScriptCategory('"
				+ record.data.manuscriptCategoryId + "')>删除</a>";
	}
}]);

var add_manuscriptCategory = new Ext.Button({
	text : '新增稿件分类',
	width : 100,
	iconCls:'manuscriptType_manager',
	handler : function() {
	
	var addManuscriptCategoryForm = new Ext.form.FormPanel({
		labelAlign : 'right',
		title : 'form',
		labelWidth : 100,
		frame : true,
		width : 300,
		title : '',
		items : [{
			xtype : 'textfield',
			name : 'manuscriptCategoryName',
			allowBlank : false,
			fieldLabel : '稿件分类名称',
			validator: function(value){
	        	if(value.indexOf('<')!=-1||value.indexOf('>')!=-1){
	        		return false;
	        	}else{
	        		var regex=/[\S]/;
	        		return regex.test(value);
	        	}
	    	},
    		invalidText: '稿件分类名称不合法:不能带<>等特殊符号且不能为空',
    		maxLength:20,
			itemCls : 'form_text'
		}],buttons : [{
			text : '增加',
			type : 'submit',
			handler : function() {
				
				if (addManuscriptCategoryForm.form.isValid()) {
					addManuscriptCategoryForm.form.doAction('submit', {
								url : 'manuscriptCategory_add.action',// 文件路径
								method : 'post',// 提交方法post或get
								params : '',
								success : function(form, action) {
									if (action.result.msg == 'wrong') {
										Ext.Msg.show({
											title : '错误提示',
											msg : '稿件分类名称相同，请添加不同的稿件分类名称 ',
											buttons : Ext.Msg.OK,
											icon : Ext.Msg.ERROR,
											width : 200
										});
									} else if (action.result.msg == 'ok') {
										ds.load({
													params : {
														start : 0,
														limit : 20
													}
												});
										window_add_manuscriptCategory.close();
									}
								},
								failure : function(form, action) {
									if (action.failureType == 'server') {
										Ext.Msg.show({
											title : '错误提示',
											msg : action.result.msg,
											buttons : Ext.Msg.OK,
											icon : Ext.Msg.ERROR,
											width : 200
										});
									} else 
	                                    if (action.failureType == 'connect') {
	                                        Ext.Msg.show({
												title : '连接错误',
												msg : '指定路径连接错误!',
												buttons : Ext.Msg.OK,
												icon : Ext.Msg.ERROR,
												width : 200
											});
	                                    }
	                                    else 
	                                        if (action.failureType == 'client') {
	                                            Ext.Msg.show({
													title : '提示',
													msg : '数据错误，非法提交',
													buttons : Ext.Msg.OK,
													icon : Ext.Msg.ERROR,
													width : 200
												});
	                                        }
	                                        else {
	                                            Ext.Msg.show({
													title : '警告',
													msg : '服务器数据传输错误',
													buttons : Ext.Msg.OK,
													icon : Ext.Msg.ERROR,
													width : 200
												});
	                                        }
								}
							});
				}
			}
		},{
			text:'取消',
			handler:function(){
			window_add_manuscriptCategory.close();
		}
		}]
	});

		
		var window_add_manuscriptCategory = new Ext.Window({
			title : '新增稿件分类',
			width : 300,
			iconCls:'manuscriptType_manager',
			resizable : false,
			constrain :true,
			autoHeight : true,
			modal : true,
			closeAction : 'hide',
			closable : false,
			items : addManuscriptCategoryForm
		}).show();
		
	}
	
});

var grid = new Ext.grid.GridPanel({
	title : '当前位置：稿件分类管理',
	loadMask : {
		msg : '数据加载中...'
	},
	ds : ds,
	store : ds,
	region : 'center',
	autoScroll : true,
	cm : cm_menuscriptCategory,
	autoExpandColumn : 1,
	tbar : [add_manuscriptCategory],
	bbar : new Ext.PagingToolbar({
				pageSize : 20,
				store : ds,
				displayInfo : true,
				beforePageText : '第',
				afterPageText : '页-共{0}页',
				displayMsg : '显示{0} - {1} 条  共 {2} 条',
				emptyMsg : "没有记录"
			})
});
ds.load({
	params : {
		start : 0,
		limit : 20
	}
});

window.showManuscriptCategory = function(needParam) {
	Ext.Ajax.request({
		url : 'manuscriptCategory_view.action',
		method : 'post',
		params : {
			manuscriptCategoryId : needParam
		},
		success : function(resp, opts) {
			var respText = Ext.util.JSON.decode(resp.responseText);
			
			if(respText.success)
			{
				var manuscriptCategory_show=new Ext.Window({
						title : '稿件分类详情',
						width : 320,
						iconCls:'manuscriptType_manager',
						resizable : false,
						constrain :true,
						autoHeight : true,
						modal : true,
						closeAction : 'hide',
						closable : false,
						items : [new Ext.FormPanel({
							border : false,
							frame : true,
							labelAlign : 'right',
							labelWidth : 100,
							defaultType : 'textfield',
							items : [{
										fieldLabel : '稿件分类名称',
										value : respText.manuscriptCategory.manuscriptCategoryName,
										readOnly : true,
										itemCls : 'unedit'
									}, {
										fieldLabel : '最近使用频度',
										value : respText.manuscriptCategory.mru,
										readOnly : true,
										itemCls : 'unedit'
									}, {
										fieldLabel : '分类创建时间',
										value : formatTime(respText.manuscriptCategory.createdTimestamp,"",""),
										readOnly : true,
										itemCls : 'unedit'
									}, {
										fieldLabel : '最后修改人',
										value : respText.manuscriptCategory.lastModifierName,
										readOnly : true,
										itemCls : 'unedit'
									}],
									buttons:[{
										text:'关闭',
										handler:function(){
										manuscriptCategory_show.close();
									}
									}]
						})]
	
					}).show();
			} else {
				Ext.Msg.show({
					title : '错误提示',
					msg : '查看稿件分类详情失败！',
					buttons : Ext.Msg.OK,
					icon : Ext.Msg.ERROR,
					width : 200
				});
			}
			
		},
		failure : function() {
			Ext.Msg.show({
						title : '错误提示',
						msg : '查看稿件分类失败！',
						buttons : Ext.Msg.OK,
						icon : Ext.Msg.ERROR,
						width : 200
					});
		}
	});
	
};

window.modifyScriptCategory = function(needParam) {
	Ext.Ajax.request({
		url : 'manuscriptCategory_view.action',
		method : 'post',
		params : {
			manuscriptCategoryId : needParam
		},
		success : function(resp, opts) {
			var respText = Ext.util.JSON.decode(resp.responseText);
			var manuscriptCategory = respText.manuscriptCategory
			if (respText.success) {
				
				modify_scriptCategory_form = new Ext.FormPanel({
							border : false,
							frame : true,
							labelAlign : 'right',
							labelWidth : 110,
							defaultType : 'textfield',
							items : [{
								xtype : 'hidden',
								name : 'manuscriptCategory.manuscriptCategoryId',
								value : manuscriptCategory.manuscriptCategoryId
							},{
								fieldLabel : '稿件分类名称',
								name : 'manuscriptCategoryName',
								value : manuscriptCategory.manuscriptCategoryName,
								validator: function(value){
					        	if(value.indexOf('<')!=-1||value.indexOf('>')!=-1){
					        		return false;
					        	}else{
					        		var regex=/[\S]/;
					        		return regex.test(value);
					        	}
					    	},
					    		invalidText: '稿件分类名称不合法:不能带<>等特殊符号且不能为空',
								maxLength : 20
							},{
								xtype : 'numberfield',
								fieldLabel : '最近使用频度',
								name : 'manuscriptCategory.mru',
								value : manuscriptCategory.mru,
								maxLength : 30,
								minValue : 0,
								minText : '频度不能小于0',
								maxValue : 2147483647,
								maxText : '频度不能大于2147483647',
								regex:/^[0-9]{1,10}$/,
								regexText:'请输入不大于2147483647的非负整数'
							}],
							buttons : [{
								text : '确定',
								type : 'submit',
								handler : function() {
								
									if (modify_scriptCategory_form.form.isValid()) {
										modify_scriptCategory_form.form.doAction('submit', {
											url : 'manuscriptCategory_edit.action',// 文件路径
											method : 'post',// 提交方法post或get
											params : '',
											success : function(form, action) {
											if (action.result.msg == 'wrong') {
												Ext.Msg.show({
													title : '错误',
													msg : '稿件分类名称相同，请修改成不同的稿件分类名称!',
													buttons : Ext.Msg.OK,
													icon : Ext.Msg.ERROR,
													width : 200
												});
											} else if (action.result.msg == 'ok') {
												
												Ext.Msg.show({
													title : '消息',
													msg : '修改成功!',
													buttons : Ext.Msg.OK,
													icon : Ext.Msg.INFO,
													width : 200
												});
												modifyScriptCategory_window.close();
												ds.reload();
												
												}
											},
											failure : function(form, action) {
												if (action.failureType == 'server') {
													Ext.Msg.show({
														title : '错误提示',
														msg : action.result.msg,
														buttons : Ext.Msg.OK,
														icon : Ext.Msg.ERROR,
														width : 200
													});
												} else if (action.failureType == 'connect') {
													Ext.Msg.show({
														title : '错误提示',
														msg : '最近使用频度格式不对',
														buttons : Ext.Msg.OK,
														icon : Ext.Msg.ERROR,
														width : 200
													});
												} else if (action.failureType == 'client') {
				                                            Ext.Msg.show({
																title : '提示',
																msg : '数据错误，非法提交',
																buttons : Ext.Msg.OK,
																icon : Ext.Msg.ERROR,
																width : 200
															});
				                                        }
				                                        else {
				                                            Ext.Msg.show({
																title : '警告',
																msg : '服务器数据传输错误',
																buttons : Ext.Msg.OK,
																icon : Ext.Msg.ERROR,
																width : 200
															});
				                                        }
											}
										});
									}
								}
							},{
								text:'取消',
								handler:function(){
									modifyScriptCategory_window.close();
								}
								}]
				});
	
				var modifyScriptCategory_window = new Ext.Window({
					title : '编辑稿件分类信息',
					width : 350,
					iconCls:'manuscriptType_manager',
					constrain :true,
					resizable : false,
					autoHeight : true,
					modal : true,
					closeAction : 'hide',
					closable : false,
					items : modify_scriptCategory_form
				}).show();
			
			} else {
				Ext.Msg.show({
					title : '错误提示',
					msg : '查看稿件分类详情失败！',
					buttons : Ext.Msg.OK,
					icon : Ext.Msg.ERROR,
					width : 200
				});
			}
		},
		failure : function() {
			Ext.Msg.show({
						title : '错误提示',
						msg : '修改稿件分类失败！',
						buttons : Ext.Msg.OK,
						icon : Ext.Msg.ERROR,
						width : 200
					});
		}
	});
};

window.deleteScriptCategory = function(needParam) {
	Ext.Msg.confirm('删除确认', '你确定删除?', function(btn) {
				if (btn == 'yes') {
					Ext.Ajax.request({
								url : "manuscriptCategory_delete.action",
								method : 'post',
								params : {
									manuscriptCategoryId : needParam
								},
								success : function(resp, opts) {
									var respText = Ext.util.JSON
											.decode(resp.responseText);
									if (respText.success) {
										if (respText.msg == 'wrong') {
											Ext.Msg.show({
												title : '操作提示',
												msg : '该稿件类型不能删除！',
												buttons : Ext.Msg.OK,
												icon : Ext.Msg.ERROR,
												width : 200
											});
										} else if (respText.msg == 'ok') {
											Ext.Msg.show({
												title : '消息',
												msg : '删除成功！',
												buttons : Ext.Msg.OK,
												icon : Ext.Msg.INFO,
												width : 200
											});
											ds.load({
														params : {
															start : 0,
															limit : 20
														}
													});
										}
									} else {
										Ext.Msg.show({
													title : '错误提示',
													msg : '删除失败！',
													buttons : Ext.Msg.OK,
													icon : Ext.Msg.ERROR,
													width : 200
												});
									}
								},
								failure : function() {
									Ext.Msg.show({
												title : '错误提示',
												msg : '删除失败！',
												buttons : Ext.Msg.OK,
												icon : Ext.Msg.ERROR,
												width : 200
											});
								}
							});
				}
			});
};

//时间格式转换
function formatTime(value, metadata, record){
	if(null==value){
		return null;
	}else{
		return new Date(value).format('Y-m-d');
	}
}

var p_menuScriptType = {
		id : 'manuscriptType-search',
		border : false,
		layout : 'border',
		items : [grid]
	};
	Ext.getCmp('content-panel').add(p_menuScriptType);
	Ext.getCmp('content-panel').layout.setActiveItem('manuscriptType-search');
